doc: add large pull requests contributing guide#62829
doc: add large pull requests contributing guide#62829mcollina wants to merge 1 commit intonodejs:mainfrom
Conversation
|
Review requested:
|
There was a problem hiding this comment.
- We should link to it from CONTRIBUTING.md, pull-requests.md, collaborator-guide.md (or some subset of those)
- We should exclude routine dependency/wpt/test bot-issued PRs, this can either be excluded explicitly with additional rules or by changing the classification put forth by the
OvervieworWhat qualifies as a large pull requestsections - dependency changes in a separate commit is at odds with having each commit self-contained, this is fine when the commits get squashed but the first commit's message is used for the squash so the first commit would be the non-deps changes? seems odd and counter-intuitive
- Design document - I 100% discourage linking outside documents, a detailed PR description should also suffice, 3000 can easily be hit with just thorough test coverage for an otherwise trivial change, how would a design document help such PRs?
- Both
Separating test additions from implementation changes.andSplitting documentation into its own pull request.strategies to avoiding large PRs are contrary to what we usually request of contributions. Those strategies only work when the contribution isn't "done" or "shipped" and is excluded from builds.
e9d9a4c to
7552c50
Compare
|
The specification here doesn't seem very clear:
|
We have to draw a line, and this is as good as any. I proposed 5k but I was asked to lower it. I would be happier with a 3k of non-test/non-doc changes, but that would require better tooling, which I'd prefer to avoid creating now. What would work for you?
The number that matters is at landing time. |
In the document it says: So
I would say as soon as it reaches the threshold the new rules apply. This also means that if with further commits the PR shrinks, rules do not apply anymore. |
|
FYI, I've added the new |
|
|
|
@nodejs/tsc ... we could use some more TSC scrutiny on this policy change. |
| * Highlight the most critical sections that need careful attention. | ||
| * Include a testing plan explaining how the change has been validated and | ||
| how reviewers can verify the behavior. | ||
|
|
There was a problem hiding this comment.
| * Organize commits in a logical sequence so that reviewers can follow the progression of the change incrementally, rather than reviewing the entire diff at once. | |
Organize commits in a logical sequence that tells a clear story of the change, allowing reviewers to follow the progression incrementally. Ideally we can follow the author's train of thought step by step rather than parsing a monolithic diff 🤔
There was a problem hiding this comment.
This is in direct conflict with what has been asked by @joyeecheung and others.
(This is how I operate, btw, creating a PR in small increments).
7552c50 to
57506d2
Compare
57506d2 to
104bc61
Compare
Fixes: #62752
Adds a contributing guide for large pull requests (3000+ lines), covering: